package com.hanthink.system.mapper;

import java.util.Date;
import java.util.List;

import com.hanthink.system.domain.pc.EmTask;
import org.apache.ibatis.annotations.Param;


/**
 * 任务管理Mapper接口
 *
 * @author hanthink
 * @date 2021-01-22
 */
public interface EmTaskMapper {
    /**
     * 查询任务管理
     *
     * @param taskCode 任务管理ID
     * @return 任务管理
     */
    EmTask selectEmTaskById(String taskCode);
 List<EmTask> selectEmTaskListhangzhou();


 List<EmTask> selectEmTaskListhangzhouplus(@Param("department") String department,@Param("status") String status,@Param("t1") String t1,@Param("t2") String t2);

    /**
     * 查询任务管理列表
     *
     * @param emTask 任务管理
     * @return 任务管理集合
     */
    List<EmTask> selectEmTaskList(EmTask emTask);

    Integer selectEmTaskListSUM(EmTask emTask);

 Integer selectEmTaskListSUMS(EmTask emTask);

   String selectEmTaskListPlus(@Param("equipname") String equipname);
    /**
     * 根据部门id和当天时间查询有日任务设备清单
     *
     * @param deptid 部门id
     * @return 设备清单列表
     */
    List<String> selectEmTaskListbydatetimeanddeptid(@Param("deptid") String deptid);

    /**
     * 随机获取当班任务管理列表
     *
     * @param emTask 任务管理
     * @return 任务管理集合
     */
    List<EmTask> selectRandomEmTaskList(EmTask emTask);

    /**
     * 塑胶事业部主动任务抽取
     * @param emTask
     * @return
     */
    List<EmTask> selectRandomEmTaskListQC(EmTask emTask);

    Integer countCanBeExtracted(EmTask emTask);

    /**
     * 塑胶事业部二级抽取审核
     * @param emTask
     * @return
     */
    List<EmTask> selectRandomEmTaskListQA(EmTask emTask);
    /**
     * 塑胶事业部二级审核查询任务数量
     * @param datestring
     * @return
     */
    List<EmTask> selectEmTaskListQA(String datestring);

    /**
     * LPA抽查任务
     * @param emTask
     * @return
     */
    List<EmTask> selectEmTaskListLPA(EmTask emTask);

    List<EmTask> selectEmTaskListLPASUPER(EmTask emTask);
    /**
     * 查询时间范围内的任务总量
     *
     * @param emTask 任务管理
     * @return 任务管理集合
     */
    int selectTaskCount(EmTask emTask);

    /**
     * 查询未完成任务管理列表
     *
     * @param emTask 任务管理
     * @return 任务管理集合
     */
    List<EmTask> selectNoFinishEmTaskList(EmTask emTask);

    /**
     * 新增任务管理
     *
     * @param emTask 任务管理
     * @return 结果
     */
    int insertEmTask(EmTask emTask);

    /**
     * 修改任务管理
     *
     * @param emTask 任务管理
     * @return 结果
     */
    int updateEmTask(EmTask emTask);

    /**
     * 删除任务管理
     *
     * @param taskCode 任务管理ID
     * @return 结果
     */
    int deleteEmTaskById(@Param("taskCode")String taskCode, @Param("username") String username,@Param("date") Date date);

    /**
     * 批量删除任务管理
     *
     * @param taskCodes 需要删除的数据ID
     * @return 结果
     */
    int deleteEmTaskByIds(@Param("taskCodes") String[] taskCodes, @Param("username") String username,@Param("date") Date date);
}
